<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./lib/18/react.development.js"></script>
  <script src="./lib/18/react-dom.development.js"></script>
  <script src="./lib/babel.min.js"></script>
</head>
<body>
  <div id="app"></div>
  <script type="text/babel"> /* 声明使用babel进行编译 jsx => js*/

    function handleClick(e) {
      console.log(e)
      alert(e.target.innerHTML)
    }

    const clickBaidu = (e) => {
      alert('-----')
      // 当前时间为奇数不跳转
      if (Date.now()%2===1) {
        // 阻止事件的默认行为
        e.preventDefault()
      }
    }

    /* 
    绑定事件
      事件名首字母大小, 传递给事件的是一个回调函数, 不要直接去调用它
    React的事件
      它不是原生的DOM事件, 而是合成事件(包装原生事件产生的对象)
          它有原生事件的所有重要属性
          nativeEvent: 被包装的原生事件
      react的事件与原生事件基本都是对应关系, 但有一个例外:
          input的change事件, 内部包装的是原生的input事件, 而不是原生的change => 
          React中input的change是在输入改变时就会触发, 而不是失去焦点时
      处理好了浏览器的兼容性问题
      阻止事件的默认行为: e.preventDefault()

    */
    const vdom = (
      <div>
        <button onClick={handleClick}>test</button>  
        <input type="text" onChange={(e) => {
          console.log(e)
          console.log(e.target.value)
        }}/>
        <a href="http://www.baidu.com" onClick={clickBaidu}>去百度</a>
      </div>
    )

    ReactDOM.createRoot(document.getElementById('app')).render(vdom)

  </script>
</body>
</html>